'use strict';

module.exports = {
  /**
   * 创建数据时使用
   */

  UGetHospitalInformation: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    lastModifyTime: { type: 'string', required: true, allowEmpty: false },
  },

  UListDepartment: {
    departmentId: { type: 'string', required: true, allowEmpty: false },
    organizationId: { type: 'string', required: true, allowEmpty: false },
    lastModifyTime: { type: 'string', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
  },

  UListDoctor: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    departmentId: { type: 'string', required: true, allowEmpty: false },
    scheduleDate: { type: 'string', required: true, allowEmpty: false },
    doctorId: { type: 'string', required: true, allowEmpty: false },
    doctorType: { type: 'number', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
    lastModifyTime: { type: 'string', required: true, allowEmpty: false },
  },

  UQueryDeptAndDoctor: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    query: { type: 'string', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
  },

  UListNumber: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    departmentId: { type: 'string', required: true, allowEmpty: false },
    scheduleDate: { type: 'string', required: true, allowEmpty: false },
    doctorId: { type: 'string', required: true, allowEmpty: false },
    doctorType: { type: 'number', required: true, allowEmpty: false },
    periodId: { type: 'number', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
    lastModifyTime: { type: 'string', required: true, allowEmpty: false },
  },

  UConfirmAppointment: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    departmentId: { type: 'string', required: true, allowEmpty: false },
    doctorId: { type: 'string', required: true, allowEmpty: false },
    source: { type: 'number', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
    regFee: { type: 'number', required: true, allowEmpty: false },
    patientId: { type: 'string', required: true, allowEmpty: false },
    resourceId: { type: 'string', required: true, allowEmpty: false },
    patientMedicalCardNumberType: { type: 'number', required: true, allowEmpty: false },
    patientMedicalCardNumber: { type: 'string', required: true, allowEmpty: false },
    cardType: { type: 'string', required: true, allowEmpty: false },
    cardNumber: { type: 'string', required: true, allowEmpty: false },
    patientBirthday: { type: 'string', required: true, allowEmpty: false },
    patientName: { type: 'string', required: true, allowEmpty: false },
    patientMobile: { type: 'string', required: true, allowEmpty: false },
    patientSex: { type: 'number', required: true, allowEmpty: false },
  },

  UListAppointmentWait: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    queryType: { type: 'string', required: true, allowEmpty: false },
    patientMedicalCardNumberList: { type: 'array', itemType: 'PatientMedicalCardNumber' },
    patientIdlist: { type: 'array', itemType: 'string' },
    patientIdentityCardList: { type: 'array', itemType: 'PatientIdentityCardList' },
    visitStatus: { type: 'number', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
    pageNo: { type: 'number', required: true, allowEmpty: false },
    pageSize: { type: 'number', required: true, allowEmpty: false },
  },

  UAppointmentPayCancel: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    orderId: { type: 'string', required: true, allowEmpty: false },
    refundReason: { type: 'string', required: true, allowEmpty: false },
    outpatientType: { type: 'string', required: true, allowEmpty: false },
  },

  UPaymentBudget: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    orderId: { type: 'string', required: true, allowEmpty: false },
  },

  UAppointmentPay: {
    agtOrderNumber: { type: 'string', required: true, allowEmpty: false },
    channelOrderNumber: { type: 'string', required: true, allowEmpty: false },
    orderId: { type: 'string', required: true, allowEmpty: false },
    organizationId: { type: 'string', required: true, allowEmpty: false },
    outOrderNumber: { type: 'string', required: true, allowEmpty: false },
    outpatientType: { type: 'number', required: true, allowEmpty: false },
    payAmount: { type: 'number', required: true, allowEmpty: false },
    payMode: { type: 'string', required: true, allowEmpty: false },
    payTime: { type: 'string', required: true, allowEmpty: false },
  },

  UListTakeNumber: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    queryType: { type: 'number', required: true, allowEmpty: false },
    patientMedicalCardNumberList: { type: 'array', itemType: 'PatientMedicalCardNumber' },
    patientIdlist: { type: 'array', itemType: 'string' },
    patientIdentityCardList: { type: 'array', itemType: 'PatientIdentityCardList' },
  },

  UGetRegistrationForm: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    orderId: { type: 'string', required: true, allowEmpty: false },
  },

  UTakeNumber: {
    organizationId: { type: 'string', required: true, allowEmpty: false },
    orderId: { type: 'string', required: true, allowEmpty: false },
  },
};
